package com.iretailer.report.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @Auther Bennie
 * @Date 2020/6/12 15:28
 * @Description
 */
@Data
@TableName(value = "d_companies")
@Accessors(chain = true)
public class Companies {
    @JSONField(name = "Id")
    @TableId(value = "Id", type = IdType.UUID)
    private String id;

    @JSONField(name = "CompanyCode")
    @TableField(value = "CompanyCode")
    private String companyCode;

    @JSONField(name = "Name")
    @TableField(value = "Name")
    private String name;

    @JSONField(name = "ShowLogo")
    @TableField(value = "ShowLogo")
    private String showLogo;

    @JSONField(name = "CreateTime")
    @TableField(value = "CreateTime")
    private LocalDateTime createTime;

    @JSONField(name = "CreateUser")
    @TableField(value = "CreateUser")
    private String createUser;

    @JSONField(name = "UpdateTime")
    @TableField(value = "UpdateTime")
    private LocalDateTime updateTime;

    @JSONField(name = "UpdateUser")
    @TableField(value = "UpdateUser")
    private String updateUser;

    /**
     * 1 为正常
     * -1 为不正常
     */
    @JSONField(name = "Status")
    @TableField(value = "Status")
    private Integer status;

    @JSONField(name = "ParentId")
    @TableField(value = "ParentId")
    private String parentId;

    @JSONField(name = "BackgroundImg")
    @TableField(value = "BackgroundImg")
    private String backgroundImg;

    @JSONField(name = "SecondaryDomain")
    @TableField(value = "SecondaryDomain")
    private String secondaryDomain;


    @JSONField(name = "CompanyAddress")
    @TableField(value = "CompanyAddress")
    private String companyAddress;

    @JSONField(name = "Principal")
    @TableField(value = "Principal")
    private String principal;

    @JSONField(name = "PrincipalMail")
    @TableField(value = "PrincipalMail")
    private String principalMail;

    @JSONField(name = "PrincipalTEll")
    @TableField(value = "PrincipalTEll")
    private String principalTEll;

    @JSONField(name = "ContractStartDate")
    @TableField(value = "ContractStartDate")
    private String contractStartDate;

    @JSONField(name = "ContractEndDate")
    @TableField(value = "ContractEndDate")
    private String contractEndDate;

    @JSONField(name = "Type")
    @TableField(value = "Type")
    private String type;



    @TableField(exist = false)
    private List<Companies> children;

    @JSONField(name = "SiteCount")
    @TableField(exist = false)
    private Integer siteCount;

}
